home *** CD-ROM | disk | FTP | other *** search
- /*
- * RZRefCountedList - a List that implements reference counting
- *
- * You may freely copy, distribute and reuse the code in this example.
- * This code is provided AS IS without warranty of any kind, expressed
- * or implied, as to its fitness for any particular use.
- *
- * Copyright 1995 Ralph Zazula (rzazula@next.com). All Rights Reserved.
- *
- */
-
- #import "RZRefCountedList.h"
-
- @implementation RZRefCountedList
-
- - init
- {
- if(self = [super init]) {
- refs = 1;
- }
- return self;
- }
-
- - addReference
- {
- refs++;
- return self;
- }
-
- - free
- {
- refs--;
- if (refs > 0) return self;
- return [super free];
- }
-
- - (unsigned int)references
- {
- return refs;
- }
-
- - freeObjects
- {
- if(refs == 1) {
- return [super freeObjects];
- }
- return self;
- }
-
- @end
-